home *** CD-ROM | disk | FTP | other *** search
-
- "Round Robin Dialer"
- by
- Samuel Smulowitz
- CENTURY ASSOCIATES
- 141-04 71st Avenue
- Flushing, N.Y. 11367
-
- INTRODUCTION.
- -------------
-
- Round Robin is a PROCOMM Command File routine which allows users to dial and
- redial a series of up to eight numbers until a connection is made. This
- routine can be used for dialing a bulletin board or other on-line system
- having multiple numbers, or can be used to dial a list of several bulletin
- boards. The Round Robin dialer must be used with PROCOMM 2.4 or greater.
-
- There are two main ways of using this Round Robin system.
-
- 1 - Enter a one-time list of numbers to be dialed using the
- ROBIN.CMD command routine (use Alt-F5 and execute ROBIN.CMD)
-
- 2 - The user prepares a command file assigning up to eight telephone
- numbers, and optionally, corresponding names. This command file
- is then executed (using Alt-F5) to assign the telephone numbers
- and names, then this routine executes ROBIN.CMD to start the
- dialing sequence.
-
- Originally, I wrote this routine as a single command file with all
- the several components coded as sub routines. However, no matter how the
- routines were coded, I couldn't get the routine to work fast enough.
- There was simply too much coding in it. So I redesigned the routine
- in a more modular fashion (i.e. several command files, each containing
- a single routine) which became easier to maintain and produced much faster
- thru put. As an added advantage, customization of these routines were
- also made simpler.
-
- The Round Robin system is comprised of a series of command files. Most of
- these files begin with "ROBIN-" and have an extension of "SUB" (so as not
- to clutter up the command file list). These include:
-
- ROBIN.CMD - This is the driver module which controls the processing
- (execution) of all the Round Robin subroutines.
-
- ROBIN-H1.SUB - Subroutine to display a screen format for the
- Round Robin processing screen. This is executed
- only when a user prepared command file calls ROBIN.CMD.
-
-
- ROBIN-H2.SUB - Subroutine to display a screen format for the
- Round Robin processing screen. This is executed
- only when a user executes ROBIN.CMD.
-
- ROBIN-DN.SUB - This routine displays the list of telephone numbers
- and optional names from the user prepared command file.
-
- ROBIN-GN.SUB - This routine allows user to manually enter telephone
- numbers for a one time execution of the Round Robin
- routines.
-
-
-
-
-
- ROBIN-SV.SUB - This routine allows the user to automatically set
- standard BBS values for processing. Standard values
- are initialized as:
- EMULATE ANSI
- TRANSLATE OFF
- SET BAUDRATE 1200
- SET DATABITS 8
- SET STOPBITS 1
- SET PARITY NONE
- SET RDELAY 25
-
- ROBIN-SK.SUB - This routine allows the user to remove numbers from
- the dialing list prior to executing the dialer.
-
- ROBIN-MC.SUB - This routine allows a user to select the type of
- modem command set to be used for dialing. The
- user enters either "ATDT" for tone dialing or
- "ATDP" for pulse dialing.
-
- ROBIN-SF.SUB - This routine is used by the user to start round robin
- dialing from anywhere within the dialing list.
-
- ROBIN-DR.SUB - This routine executes the round robin dialing list.
- It starts with the first number selected (1 thru 8),
- and continues dialing numbers in the list until a
- connection has been made. If numbers were removed
- from the dialing list, these are skipped. Once the
- list is exhausted, the dialing is begun again from
- the beginning of the list.
-
- ROBIN-EX.SUB - After the telephone connection has been made, the
- screen is cleared and a connect message is displayed.
- The user can customize this command file to perform
- special functions or execute other command files.
-
-
- In additon to the command file subroutines, there are two macro files
- used in conjuction with the round robin dialer. These are:
-
- ROBIN-DT.KEY and ROBIN-DP.KEY
-
- These macros contain the modem commands (ATDT or ATDP) needed for dialing.
- In addition, the user can setup local access and charge card numbers in the
- macro which will be transmitted along with the number. More about
- transmitting charge numbers later.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- GETTING STARTED.
- ----------------
- 1. The Round-Robin command files on the release disc can run without
- customization. Why not try testing the system "as is" before customizing
- it to your specific requirements.
-
- The Round-Robin dialing system can run in one of two modes:
-
- a. User enters and executes a one-time list of numbers to dial.
-
- b. User executes a user prepared command file which assigns a list
- of numbers to dial. This user command file then executes the
- Round-Robin command file.
-
- The following paragraphs briefly describe using these two methods.
-
-
- Using the one-time list.
- ----------------------------
-
- Execute ROBIN.CMD from PROCOMM using Alt-F5. When the dialing screen
- appears, enter each number to be dialed. You may enter a maximum of
- eight numbers. If you don't have eight numbers to dial, enter "END"
- on the line following the last telephone number.
-
-
- Using a prepared list in a command file.
- --------------------------------------------
-
- Execute TESTLIST.CMD from PROCOMM using ALT-F5. This command file
- assigns the telephone numbers and their associated names. ROBIN.CMD
- is then called by TESTLIST to automatically display these names and
- numbers for dialing.
-
-
- 2. Once the numbers have all been entered or displayed, a few additional
- messages requiring your response will appear. These are:
-
- a: "Do you wish standard BBS settings (Y/N)? [ ]"
- If you answer "Y", Round-Robin will execute "ROBIN-SV.SUB"
- to set some standard communication values. These values are
- initialized on the release disc as:
- EMULATE ANSI
- TRANSLATE OFF
- SET BAUDRATE 1200
- SET DATABITS 8
- SET STOPBITS 1
- SET PARITY NONE
- SET RDELAY 25
- Check your PROCOMM manual for the meaning of these settings.
-
- b: "Are there any numbers to SKIP? (Y/N) [ ]"
- Round-Robin gives you a chance to remove telephone numbers
- from the list prior to dialing the list.
-
- c: "MODEM DIAL COMMAND ('ATDT' OR 'ATDP') [ ]"
- If you have a tone phone, enter 'ATDT'.
- If you have a pulse phone, enter 'ATDP'.
-
- d: "Enter NUMBER to start dialing from (1 thru 8) [ ]"
- Allows you to start the dialing sequence from anywhere
- within the list.
-
- 3. Once these questions have been answered, Round-Robin will begin
- dialing telephone numbers from the list until a connection has
- been made. When all numbers in the list are exhausted, Round-Robin
- begins the list from the begining of the list starting with the first
- number which has not been skipped. Each number is displayed near the
- bottom of the screen as it selected for dialing. To abort the dialing
- or Round-Robin, simply hit your "ESC" key.
-
- Once a connection has been made, Round-Robin will execute the command
- file "ROBIN-EX.SUB". This command file redisplays the number successfully
- connected with and turns on logging (default logfile name is ROBIN=LOG).
- Round-Robin has now completed and control is returned to you.
-
-
-
-
- CUSTOMIZING ROUND-ROBIN.
- ------------------------
-
- Although Round-Robin can be used "as-is", the command files comprising the
- Round-Robin routines have been designed to make them simple to customize.
- Let's face it, variety is the 'spice' of life. Here are a few ideas how
- customizing these routines may help you.
-
- a. Most people use only one type of telephone, 'pulse' or 'tone'. If
- this is your situation, you may want to remove the execution of
- ROUND-MC.SUB from your ROBIN.CMD file and replace it with the
- 'MLOAD' command for either ROBIN-DT.KEY (tone phone) or ROBIN-DP.KEY
- (pulse phone). This must be changed twice in the ROBIN.CMD file.
- Notations for changing these lines are already in ROBIN.CMD.
-
- For example, ROBIN.CMD contains the following code:
-
- CASE "SKIP1"
- ; MLOAD "ROBIN-DT.KEY"
- ASSIGN S0 "MODEM-COMMAND1" ;IF LOADING ROBIN-D?.KEY, REMOVE THIS LINE.
- EXECUTE "ROBIN-MC.SUB" ;" " " " " " "
- ENDCASE ;" " " " " " "
- CASE "MODEM-COMMAND1" ;" " " " " " "
- EXECUTE "ROBIN-SF.SUB"
- ENDCASE
-
- If you used only a pulse phone, change the file to read this way.
-
- CASE "SKIP1"
- MLOAD "ROBIN-DP.KEY"
- ; ASSIGN S0 "MODEM-COMMAND1" ;IF LOADING ROBIN-D?.KEY, REMOVE THIS LINE.
- ; EXECUTE "ROBIN-MC.SUB" ;" " " " " " "
- ; ENDCASE ;" " " " " " "
- ; CASE "MODEM-COMMAND1" ;" " " " " " "
- EXECUTE "ROBIN-SF.SUB"
- ENDCASE
-
- This keeps the original text of the file intact, but changes the
- extraneous lines to non-executable comment lines (i.e. characters
- following a ';' are considered comments). If you still maintain
- a copy of the original ROBIN.CMD somewhere, you may simply want
- to delete the extraneous lines.
-
-
-
-
-
-
- b: ROUND-SV.SUB contains the default communication BBS settings.
- Please feel free to change these to your own default values. I
- have already described these values a couple a times before,
- so I won't bother doing it again here.
-
- c: Users wishing to use their credit card numbers, please refer to
- the following section on "setting up your own list" for specific
- set-up instructions.
-
- d: Round-Robin assigns all registers and even performs an 'MLOAD' or
- two during processing. Therefore, you should not use these commands
- in your own 'list' command file. The best way to add your own
- touches for customizing is in the ROBIN-EX.sub command file. This
- routine is executed last and therefore has very little impact
- on what you will be doing once the "ROBIN" routine has completed.
-
- Modify this file however you like prior to getting control
- back from the command file routines. I sometimes have passwords
- I want to enter for different BBS's I'm dialing in. I therefore
- modify the ROBIN-EX.CMD to check for a telephone number so that
- I may execute commands to set baud rates and enter passwords or
- call another subroutine to do this. For example:
-
- USER-ROUTINES:
- SET RDELAY 30 ; SET TO 0 IN "ROBIN-SV.SUB"
- LOG OPEN "ROBIN.LOG" ; OPEN SPECIAL LOG.
- SWITCH S0 ; S0 = TELEPHONE NUMBER DIALED.
- CASE "1-212-555-1257"
- WAITFOR "I.D." 20
- TRANSMIT "2373"
- WAITFOR "CODE" 20
- TRANSMIT "123KR!"
- WAITFOR "Main Menu Comm"
- TRANSMIT "EB"
- MLOAD "SPL.KEY"
- GOTO EXIT
- ENDCASE
- CASE "(0)203-555-7944"
- EXECUTE "INIT-ABC.CMD" ; COMMAND FILE TO SET BAUD RATE & PASSWORDS
- ENDCASE
- ENDSWITCH
-
-
-
-
- CREATING YOUR OWN PREPARED LIST OF NUMBERS.
- -------------------------------------------
-
- The thing I like best about "Round-Robin" is the ability to execute a
- prepared list of numbers. I maintain several lists of my most frequently
- dialed BBS's and clients. Using "Round-Robin" to dial them makes dialing
- a cinch. The best and easiest way to create your own prepared list of
- numbers is to modify the "TESTLIST.CMD" sample file. Copy TESTLIST.CMD
- into a your own command file:
-
- COPY TESTLIST.CMD MYOWN.CMD /V
-
-
-
-
-
-
- Now use your editor to modify MYOWN.CMD. There are three and only three
- things to be modified in your command file. These are:
-
- 1 - Change the "ASSIGN S9" from TESTFILE.CMD to the name of the new command
- file. In this case, change TESTLIST.CMD to MYOWN.CMD.
-
- 2 - Change the first set of "ASSIGN S1" to "ASSIGN S8" lines to the list
- of numbers you wish to set-up to be dialed. If you have less than 8
- numbers to dial, set the ASSIGN statement following the last telephone
- number to "END" (In TESTFILE.CMD I assigned "END" to S6).
- There is no need to ASSIGN any registers after the "END" assignment.
- I assgned S7 and S8 in TESTFILE.CMD to make it easier when creating
- other command files from it.
-
- 3 - Change the second set of "ASSIGN S1" to "ASSIGN S8" lines to the
- names corresponding to the telephone numbers entered above. If there
- are less than 8 numbers in you list, set the ASSIGN statement
- following the last name to "END".
-
-
- Telephone numbers should be entered with the area code and prefix, just the
- way you would set up a telephone number for dialing in PROCOMM. The
- following examples speak for themselves.
-
- 434-6625
- 1-555-1212
- 1-718-263-4449
- 1(203)777-9999
-
- Procomm supports telephone local access and charge card numbers.
- So does Round-Robin. To enter a local access number (to be dialed prior
- to dialing your listed number) or a charge card number (dialed following
- your listed number) you must modify the 'ROBIN-DT.KEY' and 'ROBIN-DP.KEY'
- files. To do this you must be in PROCOMM.
-
- To add a charge card number:
-
- 1 - Enter "ALT M" to call up KEYBOARD MACROS screen.
- 2 - Enter "L" to load a macro file.
- 3 - Enter "ROBIN-DT.KEY" to load first ROBIN macro file.
- 4 - Enter "R" to revise.
- 5 - Enter "2" to revise second macro statement.
- 6 - Enter charge card number preceded by pause characters (just like PROCOMM).
- 7 - Enter "Y" to 'is this OK?' message.
- 8 - Enter "S" to save macro file.
- 9 - Enter "ROBIN-DT.KEY" to save first ROBIN macro file.
- 10- Enter "ESC" key to exit KEYBOARD MACROS screen.
-
- Repeat the above procedure for 'ROBIN-DP.KEY' file.
-
- To add a local access number:
-
- 1 - Enter "ALT M" to call up KEYBOARD MACROS screen.
- 2 - Enter "L" to load a macro file.
- 3 - Enter "ROBIN-DT.KEY" to load first ROBIN macro file.
- 4 - Enter "R" to revise.
- 5 - Enter "3" to revise third macro statement.
- 6 - Enter local access number followed by pause characters (just like PROCOMM).
- 7 - Enter "Y" to 'is this OK?' message.
- 8 - Enter "S" to save macro file.
- 9 - Enter "ROBIN-DT.KEY" to save first ROBIN macro file.
- 10- Enter "ESC" key to exit KEYBOARD MACROS screen.
-
- Repeat the above procedure for 'ROBIN-DP.KEY' file.
-
- Once this has been done, you can enter your telephone number in the list
- preceded by a zero in parenthesis (to dial your charge card info).
- To dial a local access number, enter a plus sign (+) anywhere within
- the number. For example:
-
- (0)-666-5555 * Dial with charge card number.
- (0)-(203)555-1212 * Dial with charge card number.
- +-555-1212 * Dial local access number first.
- 123-4567+ * Dial local access number first.
- (0)205-555-1212+ * Dial local access number first,
- then telephone number and charge card.
-
-
-
- These local access and credit card numbers add time to dialing. Adjust your
- RDELAY (redial timeout delay) default value up to accomodate for this.
-
-
-
-
-
-
-
-
- This completes the Round Robin documentation. Please feel free to contact me
- with your comments and suggestions for improvements. If you like these
- routines pass them along to your friends. With a few exceptions, this
- software can be freely copied and distributed.
-
- First, this product must be copied and distributed as a complete package. This
- includes the command files, the macro files and, of course, the documentation.
-
- Second, ROUND ROBIN must not be distributed if modified or altered in any way.
-
- Third, no fee is to be charged for copying or distributing ROUND ROBIN. This
- software is meant to remain in the public domain and free to anyone wishing
- it.
-
- In no event will Century Associates or Sam Smulowitz be liable for any damages,
- including any lost profits, lost savings or other incidental or consequential
- damages arising out of your use or inability to use this software, or for any
- claim by any other party.
-
- Good Luck,
-
- Sam Smulowitz